package ln.javatest.day13.demo02;

/*
File类获取功能的方法：
    public String getAbsolutePath():返回此File的绝对路径名字符串
    public String getPath():将此File转换为路径名字符串
    public String getName():返回由此File表示的文件或目录的名称
    public long length():返回由此File表示的文件的长度
*/

import java.io.File;

public class Demo03File {
    public static void main(String[] args) {
        show01();
        show02();
        show03();
        show04();
    }

    /*
    public long length() 返回由此File表示的文件的长度
    获取的是构造方法指定的文件的大小，以字节为单位
    注意：
        文件夹是没有大小概念的，不能获取文件夹的大小
        如果构造方法中出的路径不存在，那么length方法返回0
    */
    private static void show04() {
        File f1 = new File("D:\\桌面\\Java作业题\\1.docx");
        long l1 = f1.length();
        System.out.println(l1); //15492
        File f2 = new File("E:\\777.docx");
        long l2 = f2.length();
        System.out.println(l2); //0
    }

    /*
    public String getName()：返回由此File表示的文件或目录的名称
    获取的就是构造方法传递路径的结尾部分（文件/文件夹）
    */
    private static void show03() {
        File f1 = new File("D:\\桌面\\Java作业题\\1.docx");
        String gn1 = f1.getName();
        System.out.println(gn1); //1.docx
        File f2 = new File("D:\\桌面\\Java作业题");
        String gn2 = f2.getName();
        System.out.println(gn2); //Java作业题
    }

    /*
    public String getPath():将此File转换为路径名字符串
    获取的构造方法中传递的路径
    */
    private static void show02() {
        File f1 = new File("D:\\桌面\\Java作业题\\1.docx");
        String gp1 = f1.getPath();
        System.out.println(f1); //D:\桌面\Java作业题\1.docx
        File f2 = new File("1.docx");
        String gp2 = f2.getPath();
        System.out.println(f2); //1.docx
        System.out.println(f1); ////D:\桌面\Java作业题\1.docx
        System.out.println(f1.toString()); ////D:\桌面\Java作业题\1.docx
    }

    /*
    public String getAbsolutePath():返回此File的绝对路径名字符串
    获取构造方法中传递的路径
    无论路径是绝对的还是相对的，getAbsolutePath()方法返回的都是绝对的
    */
    private static void show01() {
        File f1 = new File("D:\\桌面\\Java作业题\\1.docx");
        String ab1 = f1.getAbsolutePath();
        System.out.println(ab1); //D:\桌面\Java作业题\1.docx
        File f2 = new File("1.docx");
        String ab2 = f2.getAbsolutePath();
        System.out.println(ab2); //E:\Java代码测试\IDE\1.docx
    }
}
